Development tree

The actual tree layout is different in each M.E.T.A. Mode.

normal Modeinplace ModeSkip PropertyFunctionDescription
confWEB-INF/confturbine.plugin.config.skipConfiguration data for your web applicationThis directory contains all the configuration files for your application. All files in this directory with the exception of <appname>-web.xml and commons-logging.properties are copied to the WEB-INF/conf location of your application.

The <appname>-web.xml file will be copied to WEB-INF/web.xml and the commons-logging.properties file will be put into the WEB-INF/classes directory.
src/imagesimagesturbine.plugin.images.skipGraphics and Images for your applicationAll files in this directory will be copied to the images subdirectory in the root of your application. The plugin creates two image files where, which are referenced from the sample default screen
src/javaWEB-INF/src-Java source filesAll files ending on .java in this directory tree get compiled by the java compile into class files. All other files get copied as is into the WEB-INF/classes tree
src/resourcesresourcesturbine.plugin.resources.skipMisc. Turbine resource filesAll files in this directory will be copied to the resources subdirectory in the root of your application.
src/pages.turbine.plugin.pages.skipHTML pagesAll files in this directory will be copied to the root directory of your application.
src/scriptsscriptsturbine.plugin.scripts.skipJavaScript files for your applicationAll files in this directory will be copied to the scripts subdirectory in the root of your application.
src/schemasrc/schema-XML source files for TorqueThis directory contains the definition files for generating the peer and object classes for Torque and also DTD and data files to populate the tables. See the Default schema files description for details.
src/stylestyleturbine.plugin.style.skipCascading style sheet files for your applicationAll files in this directory will be copied to the style subdirectory in the root of your application.
src/templates/layoutstemplates/layoutsturbine.plugin.templates.skipLayout templates for your applicationThe templates in this directory are used to position screens and navigations on a reponse page. The M.E.T.A. plugin adds a default layout page here which just returns the current screen. If you want to use navigation elements with your application, you must either add your own custom layout pages or change the default layout to contain navigation elements. See the Velocity Only Layout documentation for an example with navigation.
src/templates/macrostemplates/macrosturbine.plugin.templates.skipVelociMacros for your applicationFiles in this directory should be loaded by the Velocity Service to be used as VelociMacros. There is a dummy file called <appname>Macros.vm which you should use, because it is correctly configured in TurbineResources.properties to load at Turbine startup time.
src/templates/navigationstemplates/navigationsturbine.plugin.templates.skipNavigation templates for your applicationPut your navigation templates here. If you want to use navigation, you need layouts that reference these files. The default configuration of a M.E.T.A.-generated Turbine application does not use navigation.
src/templates/screenstemplates/screensturbine.plugin.templates.skipScreen templates for your applicationPut your screen templates to be rendered as output of your application into this subdirectory. M.E.T.A. creates a sample index screen, which is displayed when you deploy the application without changing this page.
src/test/WEB-INF/test/-Java test codeMaven expects java classes that contain unit tests in this directory tree. All tests are run after compilation to ensure the correct function of your application. See the Maven test plugin for further information.
Deployment is usedWEB-INF/lib-libs directoryAll jar files in the project.xml file of your application, that have the war.bundle property set to true will be copied into this directory.
Deployment is usedWEB-INF/classes-classes directoryAll class files and all non-java files from the source tree are copied into this sub directory. This is defined in the Sun Servlet API.
Deployment is usedlogs-Log filesA M.E.T.A. generated application writes logfiles for debugging and runtime diagnosis. These files are put here.

Deployment tree

This is the layout of a compiled M.E.T.A. application in the web container when deployed to a web container. This applies only to modes where deployment is used, not to inplace development modes.

PathFunctionDescription
WEB-INF/liblibs directoryAll jar files in the project.xml file of your application, that have the war.bundle property set to true will be copied into this directory.
WEB-INF/confConfiguration directoryThis is the target directory for the files from the configuration directory in the source tree
WEB-INF/classesclasses directoryAll class files and all non-java files from the source tree are copied into this sub directory. This is defined in the Sun Servlet API.
logsLog filesA M.E.T.A. generated application writes logfiles for debugging and runtime diagnosis. These files are put here.
templatesApplication template filesThis is the target directory for the files from the templates directories in the source tree
scriptsJavaScript files for your applicationThis is the target directory for the files from the scripts directory in the source tree
styleCascading style sheet files for your applicationThis is the target directory for the files from the style directory in the source tree
imagesGraphics and Images for your applicationThis is the target directory for the files from the images directory in the source tree

Skipping parts of the deployment

When writing an application using this plugin, it is sometimes necessary to skip parts of the deployment process. The M.E.T.A. plugin allows you to skip parts of the deployment by using skip properties.

You can run your custom deployment or web application generation by using a postGoal to the turbine:deploy or turbine:war goal. In a turbine:deploy postGoal you can access the turbine.target.dir property as the deployment location of your application.